package com.twelvet.framework.utils.file;

import com.twelvet.framework.utils.exception.TWTUtilsException;

/**
 * @author twelvet
 * @WebSite twelvet.cn
 * @Description: 媒体类型工具类
 */
public class MimeTypeUtils {

	public MimeTypeUtils() {
		throw new TWTUtilsException("This is a utility class and cannot be instantiated");
	}

	public static final String IMAGE_PNG = "image/png";

	public static final String IMAGE_JPG = "image/jpg";

	public static final String IMAGE_JPEG = "image/jpeg";

	public static final String IMAGE_BMP = "image/bmp";

	public static final String IMAGE_GIF = "image/gif";

	public static final String[] IMAGE_EXTENSION = { "bmp", "gif", "jpg", "jpeg", "png" };

	public static final String[] FLASH_EXTENSION = { "swf", "flv" };

	public static final String[] MEDIA_EXTENSION = { "swf", "flv", "mp3", "wav", "wma", "wmv", "mid", "avi", "mpg",
			"asf", "rm", "rmvb" };

	public static final String[] VIDEO_EXTENSION = { "mp4", "avi", "rmvb" };

	public static final String[] DEFAULT_ALLOWED_EXTENSION = {
			// 图片
			"bmp", "gif", "jpg", "jpeg", "png",
			// word excel powerpoint
			"doc", "docx", "xls", "xlsx", "ppt", "pptx", "html", "htm", "txt",
			// 压缩文件
			"rar", "zip", "gz", "bz2",
			// 视频格式
			"mp4", "avi", "rmvb",
			// pdf
			"pdf" };

	public static String getExtension(String prefix) {
		return switch (prefix) {
			case IMAGE_PNG -> "png";
			case IMAGE_JPG -> "jpg";
			case IMAGE_JPEG -> "jpeg";
			case IMAGE_BMP -> "bmp";
			case IMAGE_GIF -> "gif";
			default -> "";
		};
	}

}
